1. Field of the Invention
The present invention relates to an image processing apparatus, an image processing system, an image processing method, and a computer program which are capable of executing calibration with high accuracy without creating a complex robot motion control program.
2. Description of Related Art
There have been developed a large number of control systems in which an image of a working area of a robot is captured by an imaging device, a position of a workpiece in the captured image is detected, and position information of the detected workpiece is calculated based on the captured image, to control a motion of the robot with high accuracy.
For example, Unexamined Japanese Patent Publication No. H4-134501 discloses a robot controller that controls a robot motion based on information detected by a sensor including an imaging device. Further, Unexamined Japanese Patent Publication No. H9-091022 discloses a robot controller that transmits a load module (robot motion control program) compiled in an external computer, to control a robot motion.
As thus described, for controlling an elaborate motion, the conventional robot control system requires conversion from position coordinates calculated in a coordinate system displayed in an image processing apparatus to position coordinates in a coordinate system with which the robot controller allows an end effector to make a motion. Processing to calculate a conversion formula for performing the coordinate conversion is called calibration. The end effector herein means an end portion of a robot arm, which can grasp and firmly fix a workpiece, for example.
At the time of executing the calibration, for example, position coordinates of the robot, with its end effector grasping the workpiece and having been moved to a plurality of predetermined positions, are compared with position coordinates on an image of the workpiece captured by the imaging device, which are detected based on the captured image, to enable calculation of the conversion formula.
For correctly executing the calibration, the robot controller moves the end effector to an appropriate position, and transmits an imaging instruction signal to the image processing apparatus in this movement destination, and moves the end effector to the next position. It has been necessary for a user to create a sequential robot motion control program for repeating the above operation.
Further, it has also been necessary for the user to perform processing for receiving the imaging instruction signal to detect a position of the workpiece in the image processing apparatus. That is, the user needs to be skillful in both setting the robot motion control program and setting the image processing apparatus, and this has been a remote cause of taking considerable time to start-up of the whole system.
Moreover, the robot controller plays a principal role in controlling a motion of the robot, and goes so far as controlling a motion of the sensor including the imaging device. Accordingly, without familiarity with the robot motion control program, the user has difficulties in allowing the robot to make a desired motion, and also cannot precisely execute the calibration, which has been problematic.